In a conventional NAND flash memory (hereinafter called NAND memory), information is stored as an amount of electric charge in each of floating gates of memory cells. Each memory cell has a threshold voltage according to an amount of electric charge. A plurality of data values to be stored in the memory cell is made to correspond to a plurality of threshold voltage regions. Electric charge is injected so that the threshold voltage of the memory cell is in a region corresponding to the data value to be stored. When data is read, it is determined in which region the threshold voltage of the memory cell exists. Accordingly the data value stored in the memory cell is allowed to be obtained.
A NAND memory with 3-bit/Cell configured to store 3-bit data in one memory cell has a larger number of threshold voltage regions than that of a NAND memory with 1-bit/Cell configured to store 1-bit data in one memory cell or a NAND memory with 2-bit/Cell configured to store 2-bit data in one memory cell. Therefore, the NAND memory with 3-bit/Cell needs to be precisely adjusted in threshold voltage, compared with the NAND memory with 1-bit/Cell or 2-bit/Cell. In addition, influence of interference between adjacent memory cells is increased between adjacent memory cells.